The present invention relates to a method and apparatus for the processing of data as it is entered into a data processing system.
Conventional data processing systems such as microcomputers utilize computer programs which manipulate components of the system to perform various tasks. Programs requiring input data to be entered expect this data to correspond to a particular format unique to the program. Processing of the data does not take place until an indication is made to the program that the format is complete. Usually this indication is the occurrence of a carriage return in the input data stream. Not until this indicator is reached does the program process the data and take some course of action.
In the entering of such data, whether the entry comprises data to be entered or commands to be executed, the user may make mistakes and enter the wrong commands or may enter data incorrectly. In such cases some programs provide a "syntax error" message that flashes on the screen. This message usually appears as the result of an incorrect command or data word being entered and the carriage return key having been pressed. As a result of the syntax error message the user knows that something is wrong but cannot determine at what point in the entry of the data word or command the error occurred.
In certain types of programs such as in word processing programs a dictionary may be stored in a memory portion of the system such as a random access memory. The system may then be programmed to accept only words that correspond to words in the dictionary. When an incorrect word is entered an error message may flash once the complete word has been entered, indicating an error somewhere in the word. The user, however, cannot determine where the error lies, but only that the error lies somewhere in the data word just entered.
A desirable feature in both of the above applications and in any other data input application would be the ability to determine exactly where an error lies at nearly the precise moment of entry of an erroneous data character within a word or command. Most data processing systems are accessed through a keyboard in which alpha-numeric commands and/or data items are entered one character at a time in sequential fashion. Moreover, the display screens of typical data processing systems of this type provides a visual indication of data entry simultaneous with the physical entry, that is, as items are typed on the keyboard they begin to appear on the screen substantially simultaneously with the strike of each key. If some of the processing could be done as each item of data were entered into the system, even though the complete data word or command of which the item is a part were incomplete, then the program would have less processing to do at the end of the word or command. The smaller the items of input data that can be processed, the more the processing can be spread out over the total data entry time, and the faster the processing will appear. Therefore, in order to obtain the greatest apparent increased in processing speed, the processing should take place the instant the smallest piece of usable data is available to the program. This will usually be an alpha-numeric character or punctuation symbol. By way of illustration it would be desirable to provide syntax or spelling error checking which would alert a user that an error has occurred at nearly the precise moment that an erroneous data item, for example, an alpha-numeric character, is entered. In this way the user would know precisely where in the data word or command the error has occurred.